
#include <iostream>
#include <cassert>

using namespace std;
class Solution {

public:
    int climbStairs(int n) {
        if (n == 0 || n == 1) {
            return 1;
        }
        return climbStairs(n - 1) + climbStairs(n - 2);
    }
};

// Test case
int main() {
    Solution sol;

    // Test case 1
    int n1 = 2;
    int expected1 = 2;
    int result1 = sol.climbStairs(n1);
    assert(result1 == expected1);
    cout << "Test case 1 passed!" << endl;

    // Test case 2
    int n2 = 3;
    int expected2 = 3;
    int result2 = sol.climbStairs(n2);
    assert(result2 == expected2);
    cout << "Test case 2 passed!" << endl;

    // Test case 3
    int n3 = 4;
    int expected3 = 5;
    int result3 = sol.climbStairs(n3);
    assert(result3 == expected3);
    cout << "Test case 3 passed!" << endl;

    // Test case 4
    int n4 = 5;
    int expected4 = 8;
    int result4 = sol.climbStairs(n4);
    assert(result4 == expected4);
    cout << "Test case 4 passed!" << endl;

    return 0;
}